//创建用户小仓库
import { defineStore } from "pinia";
//引入登录接口
import { reqLogin } from "../../api/user.js";
//引入路由(常量路由)
import {constantRouter} from "../../router/index.js";

// 创建用户仓库并优化变量名
const useUserStore = defineStore("user", {
  // 小仓库存储数据
  state: () => {
    return {
      // 可以根据需要添加用户相关状态
      token: localStorage.getItem('token') || '',
      menuRouter: constantRouter, //仓库存储生成菜单数组
      username: localStorage.getItem('username') || '',
      head: localStorage.getItem('head') || ''//本地存储用户头像
    };
  },
  // 处理异步逻辑的地方
  actions: {
    // 可以添加登录、登出等方法
    async userLogin(data){
        //登录请求
        let res = await reqLogin(data)
        if(res.code === 200){
            //pinia存储token
            this.token = res.data.token;
            console.log(res.data.userInfo.name)
            //pinia存储用户名
            this.username = res.data.userInfo.name
            this.head = res.data.userInfo.avatar
            
            // 本地存储token 
            localStorage.setItem("token",res.data.token)
            localStorage.setItem("username",res.data.userInfo.name)
            localStorage.setItem("head",res.data.userInfo.avatar)
            return 'ok'
        }else{
            console.log(res.message)
        }
    },
    //退出登录
    outLogin(){
      this.token = ''
      this.username = ''
      this.head = ''
      localStorage.removeItem('token')
      localStorage.removeItem('username')
      localStorage.removeItem('head')
    }
  },
  // 计算属性
  getters: {
    // 可以添加计算属性
  },
});

// 导出仓库
export default useUserStore;
